#pragma once

#include "CMachineData.h"
#include <string>
#include <mutex>

class CMachine
{
public:
    CMachine();
    ~CMachine();

public:
    //当前记录到的设备的最新数据
    CMachineData curMachData;

public:
    //机器ID
    unsigned int machID;
    //机器名称
    std::string machName;
    //采集器ID
    unsigned int collectorID;
    //机器类别
    std::string typeName;
    //属性信息
    std::string property; //暂定

private:
    std::mutex mtOper;      //操作锁，用于判定机器是否有数据在处理

public:
    //处理一条上传数据
    void HandleData(const CMachineData &data);

private:
    //更新实时数据redis数据
    void UpdateRealTimeData(const CMachineData &data);
    
    //更新机器数据
    void UpdateMachData(CMachineData data);

};